Declaration of the Matrix class. More...
#include <boost/scoped_ptr.hpp>#include <gridpack/parallel/distributed.hpp>#include <gridpack/utilities/uncopyable.hpp>#include <gridpack/math/matrix_implementation.hpp>#include <gridpack/math/vector.hpp>#include <gridpack/math/matrix_storage_type.hpp>

Go to the source code of this file.
Classes | |
| class | gridpack::math::MatrixT< T, I > |
| A parallel or serial matrix of real values. More... | |
Namespaces | |
| namespace | gridpack |
| namespace | gridpack::math |
Typedefs | |
| typedef MatrixT< ComplexType > | gridpack::math::ComplexMatrix |
| typedef MatrixT< RealType > | gridpack::math::RealMatrix |
| typedef ComplexMatrix | gridpack::math::Matrix |
| The main matrix type. | |
Functions | |
| template<typename T , typename I > | |
| void | gridpack::math::add (const MatrixT< T, I > &A, const MatrixT< T, I > &B, MatrixT< T, I > &result) |
| Add two Matrix instances and put the result in a third. | |
| template<typename T , typename I > | |
| void | gridpack::math::transpose (const MatrixT< T, I > &A, MatrixT< T, I > &result) |
| Make the transpose of a Matrix and put it in another. | |
| template<typename T , typename I > | |
| void | gridpack::math::column (const MatrixT< T, I > &A, const int &cidx, VectorT< T, I > &x) |
| Get a column from the Matrix and put in specified Vector. | |
| template<typename T , typename I > | |
| void | gridpack::math::diagonal (const MatrixT< T, I > &A, VectorT< T, I > &x) |
| Get the diagonal from a Matrix and put it in specified Vector. | |
| template<typename T , typename I > | |
| void | gridpack::math::multiply (const MatrixT< T, I > &A, const MatrixT< T, I > &B, MatrixT< T, I > &result) |
| Multiply two Matrix instances and put result in existing Matrix. | |
| template<typename T , typename I > | |
| void | gridpack::math::multiply (const MatrixT< T, I > &A, const VectorT< T, I > &x, VectorT< T, I > &result) |
| Multiply a Matrix by a Vector and put result in existing Vector. | |
| template<typename T , typename I > | |
| void | gridpack::math::transposeMultiply (const MatrixT< T, I > &A, const VectorT< T, I > &x, VectorT< T, I > &result) |
| Multiply the transpose of a Matrix by a Vector and put the result in existing Vector. | |
| template<typename T , typename I > | |
| MatrixT< T, I > * | gridpack::math::add (const MatrixT< T, I > &A, const MatrixT< T, I > &B) |
| Add two Matrix instances. | |
| template<typename T , typename I > | |
| MatrixT< T, I > * | gridpack::math::transpose (const MatrixT< T, I > &A) |
| Make the transpose of a Matrix. | |
| template<typename T , typename I > | |
| VectorT< T, I > * | gridpack::math::column (const MatrixT< T, I > &A, const int &cidx) |
| Get a column from the Matrix and put in new Vector. | |
| template<typename T , typename I > | |
| VectorT< T, I > * | gridpack::math::diagonal (const MatrixT< T, I > &A) |
| Get the diagonal from a Matrix and put in new Vector. | |
| template<typename T , typename I > | |
| MatrixT< T, I > * | gridpack::math::diagonal (const VectorT< T, I > &x, const MatrixStorageType &stype=Sparse) |
| Make a diagonal Matrix from a Vector. | |
| template<typename T , typename I > | |
| MatrixT< T, I > * | gridpack::math::multiply (const MatrixT< T, I > &A, const MatrixT< T, I > &B) |
| Multiply two Matrix instances and make a new one. | |
| template<typename T , typename I > | |
| VectorT< T, I > * | gridpack::math::multiply (const MatrixT< T, I > &A, const VectorT< T, I > &x) |
| Multiply a Matrix by a Vector and make a new Vector for the result. | |
| template<typename T , typename I > | |
| VectorT< T, I > * | gridpack::math::transposeMultiply (const MatrixT< T, I > &A, const VectorT< T, I > &x) |
| Multiply the transpose of a Matrix by a Vector and make a new Vector for the result. | |
| template<typename T , typename I > | |
| MatrixT< T, I > * | gridpack::math::identity (const MatrixT< T, I > &A) |
| Make an identity matrix with the same ownership as the specified matrix. | |
| template<typename T , typename I > | |
| MatrixT< T, I > * | gridpack::math::real (const MatrixT< T, I > &A) |
| Create a new matrix containing the real part of the specified matrix. | |
| template<typename T , typename I > | |
| MatrixT< T, I > * | gridpack::math::imaginary (const MatrixT< T, I > &A) |
| Create a new matrix containing the imaginary part of the specified matrix. | |
| template<typename T , typename I > | |
| MatrixT< T, I > * | gridpack::math::conjugate (const MatrixT< T, I > &A) |
| Create a new matrix containing the complex conjugate of the specified matrix. | |
| template<typename T , typename I > | |
| MatrixT< T, I > * | gridpack::math::storageType (const MatrixT< T, I > &A, const MatrixStorageType &new_type) |
| Create a copy of a Matrix, possibly with a different storage type. | |
| template<typename T , typename I > | |
| MatrixT< T, I > * | gridpack::math::matrixLoadBinary (const parallel::Communicator &comm, const char *filename) |
| Create a new matrix and load its contents from the specified (binary) file. | |
Declaration of the Matrix class.
1.6.1